跳到主要内容

GMRES 算法

阐述

用于求解线性方程 Ax=bAx=b。取 nmn\ll m,首先利用 Krylov 子空间法Gram-Schmidt 正交化构造出 nn 维正交基,然后找到一个在子空间内的最佳解,即

minxKnAxb2=minyCnAQnyb2=minyCnH^nye1b2\min_{x\in\mathcal K_n}\|Ax-b\|_2=\min_{y\in\mathbb C^n}\|AQ_ny-b\|_2=\min_{y\in\mathbb C^n}\|\hat H_ny-e_1\|b\|_2\|

预条件

预条件是指把 Ax=bAx=b 转化为 MAx=MbMAx=Mb 来求解,其中 MAMA 具有某种更好的性质。MM 往往是以各种方式近似 A1A^{-1},或者先近似 A^\hat A 然后计算 A^1\hat A^{-1}.

  • Jacobi:用对角元来近似 AA
  • 不完整的 LU 分解,然后用稀疏的 L 和 U 来近似 AA
  • 多格点

实例

性质

收敛性

GMRES 等价于找到一个多项式 ρ(λ)\rho(\lambda) 在所有 λ\lambda 上尽可能小,因为

minxKnAxb2=minρPn,ρ(0)=1ρ(A)b2\min_{x\in\mathcal K_n}\|Ax-b\|_2=\min_{\rho\in P_n,\rho(0)=1}\|\rho(A)b\|_2

AA 可以对角化的情况下,上式化为:

rn2bK(V)minρPn(maxiρ(λi))\|r_n\|_2\le\|b\|\mathcal K(V)\min_{\rho\in P_n}\left(\max_i|\rho(\lambda_i)|\right)

因此如果 λ\lambda 比较集中,那么收敛就快。这个分析也表明,GMRES 不是平移不变的。

相关内容

参考文献